<?php

class Horario extends CI_Controller {
    
    function __construct() {
        parent::__construct();
        $this->load->model('Horario_Model');
    }

    public function index()
    {
        redirect(base_url().'horario/asignacion');
    }

    public function wsRepetir(){
        $idPersona = $this->input->get('idPersona');
        $lunes = $this->input->get('lunes');
        $semanas = $this->input->get('semanas');

        $this->Horario_Model->repetir($idPersona, $lunes, $semanas);
    }

    public function wsInsertRango(){
        $idPersona = $this->input->get('idPersona');
        $desde = $this->input->get('desde');
        $hasta = $this->input->get('hasta');
        $fecha = $this->input->get('fecha');
        $idActividad = $this->input->get('idActividad');
        $idAmbiente = $this->input->get('idAmbiente');

        $this->Horario_Model->insertRango($idPersona, $desde, $hasta, $fecha, $idActividad, $idAmbiente);
    }

    public function wsGetAmbientes(){
        $idPadre = $this->input->get("idAmbiente");
        $ambientes = $this->Horario_Model->getAmbientes($idPadre);
        $jsonData = json_encode($ambientes);
        echo $jsonData;
    }

    public function wsGetActividades(){
        $idPadre = $this->input->get("idEspecialidad");
        $idEmpleado = $this->input->get("idEmpleado");
    	$actividades = $this->Horario_Model->getActividades($idPadre, $idEmpleado);
    	$jsonData = json_encode($actividades, $idEmpleado);
    	echo $jsonData;
    }

    public function wsDeleteRango(){
        $idPersona = $this->input->get('idPersona');
        $desde = $this->input->get('desde');
        $hasta = $this->input->get('hasta');
        $fecha = $this->input->get('fecha');
        $idEspecialidad = $this->input->get('idEspecialidad');

        $this->Horario_Model->deleteRango($idPersona, $desde, $hasta, $fecha, $idEspecialidad);

        $jsonData = json_encode("true");
        echo $jsonData;
    }

    public function wsGetDisponibilidad(){
        $idEspecialidad = $this->input->get('idEspecialidad');
        $duracion = $this->input->get('duracionMins');
        $lunes = $this->input->get('lunes'); //en realidad no es siempre lunes, sino cualquier dia de la semana
        //hay que hacer que 'lunes' realmente sea un lunes, el lunes anterior mas cercano
        $permitirCruces = $this->input->get('permitirCruces');

        if ($permitirCruces == "true"){
            $permitirCruces = true;
        }else{
            $permitirCruces = false;
        }

        $lunes = strtotime($lunes);
        while (date('N', $lunes) != 1){
            $lunes = strtotime ('-1 day', $lunes);
        }
        $lunes = date('Y-m-d', $lunes);

        $horario = $this->Horario_Model->getDisponibilidad($idEspecialidad, $lunes, $duracion, $permitirCruces);

        $jsonData = json_encode($horario);
        echo $jsonData;
    }

    public function wsGetHorario(){
        $idPersona = $this->input->get('idPersona');
        $lunes = $this->input->get('lunes'); //en realidad no es siempre lunes, sino cualquier dia de la semana
        //hay que hacer que 'lunes' realmente sea un lunes, el lunes anterior mas cercano

        $lunes = strtotime($lunes);
        while (date('N', $lunes) != 1){
            $lunes = strtotime ('-1 day', $lunes);
        }
        $lunes = date('Y-m-d', $lunes);

        $horario = $this->Horario_Model->getHorario($idPersona, $lunes);

        $jsonData = json_encode($horario);
        echo $jsonData;
    }

    public function miAgenda(){
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        redirect('horario/asignacion?idPersona='.$idPersona);
    }

    public function asignacion(){
        $idPersona = $this->input->get('idPersona');
        $usuario = $this->session->userdata('logged_in');
        $idPerfil = $usuario['perfil'];
        $this->args['title'] = 'Horarios';
        $this->args['content'] = 'horario/asignacion';
        $this->args['personaSeleccionada'] = $this->Horario_Model->getPersonalById($idPersona);
        $this->loadView();
    }

    public function pruebaDisp(){
        $this->args['title'] = 'Horarios';
        $this->args['content'] = 'horario/prueba_disponibilidad';
        $this->loadView();
    }

    public function pruebaCombo(){
        $this->args['title'] = 'Prueba combo';
        $this->args['content'] = 'horario/combo_especialidad';
        $this->loadView();
    }


       public function wsGetActividadesCosteo(){
        $idPadre = $this->input->get("idEspecialidad");
        $idEmpleado = $this->input->get("idEmpleado");
    	$actividades = $this->Horario_Model->getActividadesCosteo($idPadre, $idEmpleado);
    	$jsonData = json_encode($actividades, $idEmpleado);
    	echo $jsonData;
    }

    public function scripts(){
        $this->args['title'] = 'Prueba combo';
        $this->args['content'] = 'horario/scripts';
        $this->loadView();
    }
    
}

?>
